package com.ssy.lingxi.workflow.model.constant;

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * 流程图定义中，外部流程关联的角色类型的枚举
 * @author 万宁
 * @version 2.0.0
 * @date 2021-04-25
 */
public enum ExternalTaskRoleTypeEnum {

    /**
     * 默认没有指定 - -1
     */
    DEFAULT(-1, "没有指定，默认值"),

    /**
     * 平台 - 0
     */
    PLATFORM(0, "平台"),

    /**
     * 上级会员角色 - 1
     */
    UPPER_MEMBER(1, "上级会员角色"),

    /**
     * 下级会员角色 - 2
     */
    SUB_MEMBER(2, "下级会员角色");

    ExternalTaskRoleTypeEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    private Integer code;
    private String msg;

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public static List<Integer> toList() {
        return Stream.of(PLATFORM.code, UPPER_MEMBER.code, SUB_MEMBER.code).collect(Collectors.toList());
    }
}
